//
// Created by buyongjiu on 2024/4/22.
//

#ifndef FEI_LAXER_TOKEN_H
#define FEI_LAXER_TOKEN_H
#include <string>

enum TokenType {SEGMENT, OPERATOR, KEYWORD, IDENTIFIER, LITERALS, ERROR, OTHERS};

class Token {
public:
    TokenType type;
    int line = 0;
    std::string value;
    Token(){};
    Token(TokenType type, int line, std::string value);
    Token(const Token& token);
    virtual ~Token();
    std::string toJSON();
    std::string toString();
};
#endif //FEI_LAXER_TOKEN_H
